import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

let defaultcity='北京'
try {
    if (localStorage.city) {
        defaultcity = localStorage.city
    }
} catch (error) {}

export default new Vuex.Store({ 
    state:{
        city:defaultcity
    },
    actions:{                                //创建一个store仓库，stata里面装公用的数据，外面dispatch派发的事件
        changeCity(ctx,city){                // actions接受这个事件，接受一个ctx参数方便调用commit,再接受传来city的数据
           ctx.commit('changeCity',city)     // commit对外触发一个事件，拿到city数据，然后调用mutations改变公用的数据
        }                                    //mutations里面的方法接受一个stata 和 city 再把接受到的city数据给stata里面的数据
    },
    mutations:{
        changeCity(stata,city){
            stata.city=city
            try {
                localStorage.city=city
            } catch (error) {}     
        }
    },
})
